home *** CD-ROM | disk | FTP | other *** search
- // vector.cpp
-
- #include "vector.h"
- #define NULL 0
-
- //
- // constructor
- //
- vector::vector(vector** in_master) {
- m_master = in_master;
- m_next = NULL;
- add();
- }
-
- //
- // default constructor
- //
- vector::vector() {
- m_master = NULL;
- m_next = NULL;
- }
-
- //
- // destructor
- //
- vector::~vector() {
- remove();
- }
-
- //
- // add()
- //
- void
- vector::add() {
- this->m_next = NULL;
-
- if (m_master==NULL) return;
-
- vector* p = *m_master;
-
- if (p==NULL) {
- *m_master = this;
- } else {
- while (p->m_next != NULL) {
- p = p->m_next;
- }
- p->m_next = this;
- }
- }
-
- //
- // remove()
- //
- void
- vector::remove() {
- vector* p;
- vector* next;
-
- next = this->m_next;
- this->m_next = NULL;
-
- if (m_master==NULL) return;
- p = *m_master;
-
- if (p==this) {
- *m_master = next;
- } else {
- while (p!=NULL) {
- if (p->m_next == this) {
- p->m_next = next;
- break;
- }
- p = p->m_next;
- }
- }
- }